home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS031.dsk / CROSS FOUR.bas < prev    next >
BASIC Source File  |  2012-02-16  |  5KB  |  119 lines

  1. 1  LIST 25900
  2. 2  FOR X = 1 TO 2000: NEXT X
  3. 10  CLEAR 
  4. 20  DIM A(10,10),BOTM(10)
  5. 30  GOSUB 5000
  6. 40  FOR C = 1 TO 8:BOTM(C) = 8: NEXT C
  7. 50 COLR$(1) = "(WHITE)":COLR$(2) = "(BLACK)"
  8. 60  POKE  -16304,0
  9. 70  POKE  -16301,0
  10. 100  COLOR= 2: FOR R = 0 TO 20: VLIN 0,39 AT R: VLIN 0,39 AT 39 -R: HLIN 0,39 AT R: HLIN 0,39 AT 39 -R: NEXT R
  11. 110  COLOR= 6: FOR C = 0 TO 7: FOR R = 0 TO 7: FOR RR = 0 TO 2: HLIN R *4 +4,R *4 +6 AT RR +C *4 +4: NEXT RR,R,C
  12. 120  VTAB 21: FOR C = 0 TO 7: HTAB C *4 +6: PRINT C +1;: NEXT C
  13. 130  POKE 34,22
  14. 170  FOR A = 1 TO 2
  15. 200  HOME : PRINT PL$(A)" "COLR$(A)", WHAT COLUMN ";: INPUT COLM
  16. 210  IF COLM <1  OR COLM >8  THEN 200
  17. 220  IF BOTM(COLM) <1  THEN  SPEED= 50: NORMAL : PRINT "<CTRL-G>SORRY, THAT COLUMN IS FILLED          ": SPEED= 255: GOTO 200
  18. 230  FOR I = 1 TO 8
  19. 240 TIE = TIE +BOTM(I)
  20. 250  NEXT I
  21. 260  IF TIE = 0  THEN 11000
  22. 300 COLM = COLM -1
  23. 400  FOR R = 0 TO BOTM(COLM +1) -1
  24. 405  COLOR= (A = 1) *15
  25. 410  FOR RR = 0 TO 2: VLIN R *4 +4,R *4 +6 AT RR +COLM *4 +4: NEXT RR: IF R = BOTM(COLM +1) -1  THEN 800
  26. 420  COLOR= 6: FOR RR = 0 TO 2: VLIN R *4 +4,R *4 +6 AT RR +COLM *4 +4: NEXT RR
  27. 430  NEXT R
  28. 800 BOTM(COLM +1) = BOTM(COLM +1) -1
  29. 810  IF A = 1  THEN Z =  -1
  30. 820  IF A = 2  THEN Z = 1
  31. 825  IF  ABS(Z) < >1  THEN  STOP 
  32. 830 A(BOTM(COLM +1) +1,COLM +1) = Z
  33. 1000  REM CHECK FOR WIN!
  34. 1005 SCR = 0:WIN = 1
  35. 1010  FOR R = 1 TO 8: FOR C = 1 TO 5:SCR = A(R,C) +A(R,C +1) +A(R,C +2) +A(R,C +3): IF  ABS(SCR) = 4  THEN 1200
  36. 1020  NEXT C,R
  37. 1040 SCR = 0:WIN = 2
  38. 1050  FOR R = 1 TO 5: FOR C = 1 TO 5:SCR = A(R,C) +A(R +1,C) +A(R +2,C) +A(R +3,C): IF  ABS(SCR) = 4  THEN 1200
  39. 1060  NEXT C,R
  40. 1090 SCR = 0:WIN = 3
  41. 1100  FOR R = 4 TO 8: FOR C = 1 TO 5:SCR = A(R,C) +A(R -1,C +1) +A(R -2,C +2) +A(R -3,C +3): IF  ABS(SCR) = 4  THEN 1200
  42. 1110  NEXT C,R
  43. 1140 SCR = 0:WIN = 4
  44. 1150  FOR R = 1 TO 5: FOR C = 1 TO 5:SCR = A(R,C) +A(R +1,C +1) +A(R +2,C +2) +A(R +3,C +3): IF  ABS(SCR) = 4  THEN 1200
  45. 1160  NEXT C,R
  46. 1170 SCR = 0
  47. 1180  NEXT A
  48. 1190  GOTO 170
  49. 1200  HOME : FOR I = 1 TO 8: PRINT  CHR$(7);: NEXT I: PRINT 
  50. 1205  IF  ABS(SCR) < >4  THEN  STOP 
  51. 1206  GOSUB 10000
  52. 1207  POKE 34,20: HOME 
  53. 1210  INVERSE : PRINT " ";PL$((SCR = 4) +1);" HAS WON! ": NORMAL 
  54. 1250  PRINT : PRINT " DO YOU WANT TO PLAY AGAIN (Y/N)?";
  55. 1260  GET A$
  56. 1270  IF A$ < >"Y"  AND A$ < >"N"  THEN 1260
  57. 1280  IF A$ = "Y"  THEN 10
  58. 1300  POKE 34,0
  59. 1310  FOR I = 1 TO 24: PRINT : NEXT I:
  60. 1320  TEXT : END 
  61. 5000  TEXT : HOME : PRINT : INVERSE : HTAB 14: PRINT " CROSS FOUR ": NORMAL 
  62. 5010  PRINT : HTAB 6: PRINT "PROGRAMMED BY DAVID CUSIMANO"
  63. 5020  PRINT : HTAB 17: PRINT "AGE 14"
  64. 5030  PRINT : PRINT : PRINT "   THE OBJECT OF THIS GAME IS TO GET": PRINT 
  65. 5040  PRINT "FOUR CHECKERS IN A ROW; HORIZONTALY,": PRINT 
  66. 5050  PRINT "VERTICALLY, OR DIAGONALLY.": PRINT : PRINT 
  67. 5060  PRINT "   THERE IS ONE LITTLE TRICK TO THIS": PRINT 
  68. 5070  PRINT "SIMPLE GAME; THE CHECKERS FALL TO THE": PRINT 
  69. 5080  PRINT "BOTTOM OF THE COLUMN AND PILE UP."
  70. 5090  PRINT : HTAB 10: PRINT "HIT ANY KEY ";: GET A$,A$
  71. 5100  HOME 
  72. 5110  INPUT "WHAT IS PLAYER #1'S NAME ?";PL$(1)
  73. 5120  PRINT : INPUT "WHAT IS PLAYER #2'S NAME ?";PL$(2)
  74. 5130  PRINT : PRINT : PRINT "PLAYER #1 - "PL$(1)
  75. 5140  PRINT "PLAYER #2 - "PL$(2)
  76. 5150  PRINT : PRINT : PRINT "IS THAT CORRECT (Y/N)?";: GET A$
  77. 5160  IF A$ < >"Y"  THEN 5100
  78. 5170  PRINT : PRINT : PRINT "GOOD..."
  79. 5180  SPEED= 50: PRINT : PRINT "   LET THE GAME BEGIN...   ": SPEED= 255
  80. 5200  RETURN 
  81. 10000  COLOR= 6
  82. 10005  ON WIN GOTO 10100,10200,10300,10400
  83. 10010  STOP 
  84. 10100  PLOT C *4,R *4
  85. 10110  PLOT (C +1) *4,R *4
  86. 10120  PLOT (C +2) *4,R *4
  87. 10130  PLOT (C +3) *4,R *4
  88. 10140  RETURN 
  89. 10200  PLOT C *4,R *4
  90. 10210  PLOT C *4,(R +1) *4
  91. 10220  PLOT C *4,(R +2) *4
  92. 10230  PLOT C *4,(R +3) *4
  93. 10240  RETURN 
  94. 10300  PLOT C *4,R *4
  95. 10310  PLOT (C +1) *4,(R -1) *4
  96. 10320  PLOT (C +2) *4,(R -2) *4
  97. 10330  PLOT (C +3) *4,(R -3) *4
  98. 10340  RETURN 
  99. 10400  PLOT C *4,R *4
  100. 10410  PLOT (C +1) *4,(R +1) *4
  101. 10420  PLOT (C +2) *4,(R +2) *4
  102. 10430  PLOT (C +3) *4,(R +3) *4
  103. 10440  RETURN 
  104. 10999  END 
  105. 11000  POKE 34,20: HOME 
  106. 11010  INVERSE : PRINT " THE GAME IS AT A TIE! "
  107. 11020  GOTO 1250
  108. 25900  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>           <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>FROM:   APPLE-CAN<CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  109. 60000  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J> CROSS FOUR<CTRL-J>
  110. 60010  REM PROGRAMMED BY
  111. 60020  REM DAVID CUSIMANO
  112. 60030  REM AGE 14!!<CTRL-J>
  113. 60040  REM A MEMBER OF
  114. 60050  REM APPLE-CAN  ****
  115. 60060  REM IN TORONTO, ONTARIO<CTRL-J>
  116. 60070  REM  THIS PROGRAM WAS
  117. 60080  REM  CREATED IN ONE
  118. 60090  REM  DAY; CAN YOU BELIEVE
  119. 60100  REM  THAT!  WELL IT WAS!<CTRL-J><CTRL-J><CTRL-J><CTRL-J>